// IVDTUartBluetoothAidl.aidl
package com.cvte.vdt.uartservice.aidl;

import com.cvte.vdtlibrary.bluetooth.EntityBluetoothDevice;
import com.cvte.vdtlibrary.bluetooth.EnumBluetoothMode;
import com.cvte.vdtlibrary.bluetooth.EnumBTSendModeStatus;
import com.cvte.vdtlibrary.bluetooth.EnumBTRecModeStatus;
import com.cvte.vdt.uartservice.aidl.IVDTUartCallback;
import com.cvte.vdtlibrary.bluetooth.EnumBluetoothKey;
// Declare any non-default types here with import statements

interface IVDTUartBluetoothAidl {
    //common
    boolean setBluetoothMode(in EnumBluetoothMode mode);
    boolean getBTSendModeOnOff();
    boolean setBTSendModeOnOff(boolean onoff);
    boolean powerOnBluetooth();
    boolean powerOffBluetooth();
    boolean isBluetoothPowerOn();
    EnumBluetoothMode getBluetoothMode();
    EntityBluetoothDevice getConnectBTDevice();
    List<EntityBluetoothDevice> getPairBTList();
    List<EntityBluetoothDevice> getNotPairBTList();
    void cleanNotPairBTList();
    String getBTVersion();
    int getBTVolume();
    //rec
    String getBTRecMusicName();
    boolean deleteBTRecPairDevice(in EntityBluetoothDevice device);
    boolean connectBTRecDevice(in EntityBluetoothDevice device);
    boolean disconnectBTRecDevice(in EntityBluetoothDevice device);
    void sendBTRecModeKey(in EnumBluetoothKey key);
    EnumBTRecModeStatus getBTRecStatus();
    //send
    boolean startSearchBTSendMode();
    boolean stopSearchBTSendMode();
    EnumBTSendModeStatus getBTSendStatus();
    boolean deleteBTSendPairDevice(in EntityBluetoothDevice device);
    boolean connectBTSendDevice(in EntityBluetoothDevice device);
    boolean disconnectBTSendDevice(in EntityBluetoothDevice device);

    void registerVDTUartCallback(IVDTUartCallback cb);
    void unregisterVDTUartCallback(IVDTUartCallback cb);
}
